ASP.Net MVC-তে Model Binding এবং Strongly Typed Views দুটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা ডেটা ব্যবস্থাপনা এবং ভিউ রেন্ডারিং প্রক্রিয়াকে আরো সহজ এবং কার্যকরী করে তোলে। এই দুটি বৈশিষ্ট্য ব্যবহার করে ডেভেলপাররা ফর্ম ডেটা, ইউজার ইনপুট এবং অন্যান্য ডেটা মডেল থেকে ভিউতে সহজভাবে পাঠাতে এবং প্রদর্শন করতে পারেন।
Model Binding হল একটি প্রক্রিয়া যা ASP.Net MVC অ্যাপ্লিকেশনে HTTP রিকোয়েস্টের ডেটা (যেমন ফর্ম ডেটা, URL প্যারামিটার বা কুকি) মডেল অবজেক্টে অটোমেটিক্যালি ম্যাপ করে। Model Binding ডেভেলপারদেরকে ম্যানুয়ালি ডেটা গ্রহণ এবং প্রক্রিয়া না করে সরাসরি মডেল ক্লাসে ডেটা পাস করতে সাহায্য করে।
Model Binding প্রক্রিয়াটি নিম্নরূপে কাজ করে:
ধরা যাক, একটি Student মডেল আছে এবং আমরা একটি ফর্মের মাধ্যমে ব্যবহারকারীর ইনপুট নিতে চাই।
public class Student
{
public string Name { get; set; }
public int Age { get; set; }
}
এই মডেলকে ব্যবহার করে একটি ফর্ম তৈরি করা যেতে পারে:
@using (Html.BeginForm())
{
<label>Name:</label>
@Html.TextBoxFor(model => model.Name)
<label>Age:</label>
@Html.TextBoxFor(model => model.Age)
<input type="submit" value="Submit" />
}
এখন, কন্ট্রোলারের Action Method এই ডেটা গ্রহন করবে:
[HttpPost]
public ActionResult SubmitStudent(Student student)
{
// Student মডেলটি এখানে বাউন্ড হবে
return View(student);
}
এখানে, ফর্মে ইনপুট করা ডেটা Student
মডেলে অটোমেটিক্যালি ম্যাপ করা হবে এবং SubmitStudent
Action Method-এ প্রেরিত হবে।
Strongly Typed Views হল এমন ভিউ যা একটি নির্দিষ্ট টাইপের মডেল নিয়ে কাজ করে। এই পদ্ধতিতে, ভিউটি একটি নির্দিষ্ট মডেল টাইপের সাথে সংযুক্ত থাকে, এবং ডেটা মডেলের সমস্ত প্রোপার্টি এবং মেথডের উপর ডিরেক্ট অ্যাক্সেস পাওয়া যায়। এটি compile-time checking এর মাধ্যমে উন্নত ভ্যালিডেশন এবং ত্রুটি হ্যান্ডলিং প্রস্তাব করে।
ASP.Net MVC-তে যখন ভিউটি একটি নির্দিষ্ট মডেল টাইপ ব্যবহার করে, তখন ভিউ ফাইলের প্রথম লাইনে @model
ডিরেকটিভ ব্যবহার করা হয়। এটি ভিউটিকে একটি নির্দিষ্ট মডেল টাইপের সাথে শক্তভাবে সংযুক্ত করে।
ধরা যাক, Student
মডেল তৈরি করা হয়েছে, এবং আমরা একটি Strongly Typed View তৈরি করতে চাই।
public class Student
{
public string Name { get; set; }
public int Age { get; set; }
}
@model YourNamespace.Models.Student
<h2>Student Details</h2>
<p>Name: @Model.Name</p>
<p>Age: @Model.Age</p>
এখানে, @model YourNamespace.Models.Student
ভিউটিকে Student
মডেলের সাথে সংযুক্ত করে এবং ভিউতে @Model.Name
এবং @Model.Age
ব্যবহার করে মডেলের ডেটা প্রদর্শন করা হয়।
public ActionResult DisplayStudent()
{
Student student = new Student
{
Name = "Rahim",
Age = 25
};
return View(student);
}
এখানে, DisplayStudent
Action Method একটি Student
অবজেক্ট তৈরি করে এবং তা ভিউতে প্রেরণ করে, যেখানে Strongly Typed View ডেটা প্রদর্শন করে।
Model Binding এবং Strongly Typed Views ASP.Net MVC এর দুটি শক্তিশালী বৈশিষ্ট্য যা ডেটা প্রসেসিং এবং ভিউ রেন্ডারিং সহজ এবং আরও কার্যকরী করে তোলে। Model Binding ডেটা অটোমেটিক্যালি মডেলে বাউন্ড করতে সহায়ক, এবং Strongly Typed Views ডেভেলপারদের কম্পাইল টাইমে ভুল চেক করতে এবং নির্দিষ্ট মডেল প্রপার্টির উপর ডিরেক্ট অ্যাক্সেস পাওয়ার সুবিধা দেয়।